Tabling for Higher-Order Logic Programming

نویسنده

  • Brigitte Pientka
چکیده

We describe the design and implementation of a higher-order tabled logic programming interpreter where some redundant and infinite computation is eliminated by memoizing sub-computation and re-using its result later. In particular, we focus on the table design and table access in the higher-order setting where many common operations are undecidable in general. To achieve a space and time efficient implementation, we rely on substitution factoring and higher-order substitution tree indexing. Experimental results from a wide range of examples (propositional theorem proving, parsing, refinement type checking, small-step evaluator) demonstrate that higher-order tabled logic programming yields a more robust and more efficient proof procedure.

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

A Proof-Theoretic Foundation for Tabled Higher-Order Logic Programming

Higher-order logic programming languages such as Elf extend first-order logic programming in two ways: first-order terms are replaced with (dependently) typed λ-terms and the body of clauses may contain implication and universal quantification. In this paper, we describe tabled higher-order logic programming where some redundant computation is eliminated by memoizing sub-computation and re-usin...

متن کامل

Or-Parallelism within Tabling

One important advantage of logic programming is that it allows the implicit exploitation of parallelism. Towards this goal, we suggest that or-parallelism can be efficiently exploited in tabling systems and propose two alternative approaches, Or-Parallelism within Tabling (OPT) and Tabling within Or-Parallelism (TOP). We concentrate on the fundamental concepts of an environment copying based mo...

متن کامل

On Applying Or-Parallelism and Tabling to Logic Programs

Logic Programming languages, such as Prolog, provide a high-level, declarative approach to programming. Logic Programming offers great potential for implicit parallelism, thus allowing parallel systems to often reduce a program’s execution time without programmer intervention. We believe that for complex applications that take several hours, if not days, to return an answer, even limited speedu...

متن کامل

On Applying Tabling to Inductive Logic Programming

It is recognized that efficiency and scalability is a major obstacle to an increased usage of Inductive Logic Programming (ILP) in complex applications with large hypotheses spaces. In this work, we focus on improving the efficiency and scalability of ILP systems by exploring tabling mechanisms available in the underlying Logic Programming systems. We present two different approaches. Our first...

متن کامل

Program Updating by Incremental and Answer Subsumption Tabling

We explore the use of state-of-the-art Logic Programming (LP) implementation techniques to exploit their use in addressing a classical non-monotonic reasoning problem, that of LP program updates, with incidence on representing change, i.e. internal or self and external or world changes. We do so starting from a given LP update language and a given LP implementation system. We propose and foster...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2005